#include "MSBlast.h"

const float gap_aa_probs[][8] = {
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.750,0.250,0.000,0.000,0.000,0.000,0.000},
{0.0,0.500,0.500,0.000,0.000,0.000,0.000,0.000},
{0.0,0.667,0.333,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.500,0.500,0.000,0.000,0.000,0.000,0.000},
{0.0,0.500,0.500,0.000,0.000,0.000,0.000,0.000},
{0.0,0.600,0.400,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.333,0.667,0.000,0.000,0.000,0.000,0.000},
{0.0,0.333,0.667,0.000,0.000,0.000,0.000,0.000},
{0.0,0.333,0.667,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,1.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.889,0.111,0.000,0.000,0.000,0.000},
{0.0,0.000,0.667,0.333,0.000,0.000,0.000,0.000},
{0.0,0.000,0.857,0.143,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.800,0.200,0.000,0.000,0.000,0.000},
{0.0,0.000,0.667,0.333,0.000,0.000,0.000,0.000},
{0.0,0.063,0.750,0.188,0.000,0.000,0.000,0.000},
{0.0,0.143,0.857,0.000,0.000,0.000,0.000,0.000},
{0.0,0.143,0.857,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.700,0.300,0.000,0.000,0.000,0.000},
{0.0,0.000,0.571,0.429,0.000,0.000,0.000,0.000},
{0.0,0.000,0.800,0.200,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.769,0.231,0.000,0.000,0.000,0.000},
{0.0,0.000,0.400,0.600,0.000,0.000,0.000,0.000},
{0.0,0.000,0.700,0.300,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.667,0.333,0.000,0.000,0.000,0.000},
{0.0,0.000,0.400,0.600,0.000,0.000,0.000,0.000},
{0.0,0.000,0.727,0.273,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.714,0.286,0.000,0.000,0.000,0.000},
{0.0,0.000,0.500,0.500,0.000,0.000,0.000,0.000},
{0.0,0.000,0.714,0.286,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.571,0.429,0.000,0.000,0.000,0.000},
{0.0,0.000,0.400,0.600,0.000,0.000,0.000,0.000},
{0.0,0.000,0.526,0.474,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.500,0.500,0.000,0.000,0.000,0.000},
{0.0,0.000,0.400,0.600,0.000,0.000,0.000,0.000},
{0.0,0.000,0.625,0.375,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.571,0.429,0.000,0.000,0.000,0.000},
{0.0,0.000,0.455,0.545,0.000,0.000,0.000,0.000},
{0.0,0.000,0.543,0.429,0.029,0.000,0.000,0.000},
{0.0,0.000,0.692,0.231,0.077,0.000,0.000,0.000},
{0.0,0.000,0.484,0.484,0.032,0.000,0.000,0.000},
{0.0,0.000,0.333,0.667,0.000,0.000,0.000,0.000},
{0.0,0.000,0.478,0.522,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.700,0.300,0.000,0.000,0.000,0.000},
{0.0,0.000,0.400,0.600,0.000,0.000,0.000,0.000},
{0.0,0.000,0.571,0.429,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.400,0.600,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.276,0.724,0.000,0.000,0.000,0.000},
{0.0,0.000,0.276,0.724,0.000,0.000,0.000,0.000},
{0.0,0.000,0.302,0.623,0.075,0.000,0.000,0.000},
{0.0,0.000,0.333,0.500,0.167,0.000,0.000,0.000},
{0.0,0.000,0.346,0.577,0.077,0.000,0.000,0.000},
{0.0,0.000,0.357,0.643,0.000,0.000,0.000,0.000},
{0.0,0.000,0.526,0.474,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.500,0.500,0.000,0.000,0.000,0.000},
{0.0,0.000,0.143,0.857,0.000,0.000,0.000,0.000},
{0.0,0.000,0.400,0.600,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.571,0.429,0.000,0.000,0.000,0.000},
{0.0,0.000,0.250,0.750,0.000,0.000,0.000,0.000},
{0.0,0.000,0.400,0.600,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.400,0.600,0.000,0.000,0.000,0.000},
{0.0,0.000,0.250,0.750,0.000,0.000,0.000,0.000},
{0.0,0.000,0.250,0.750,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.087,0.913,0.000,0.000,0.000,0.000},
{0.0,0.000,0.087,0.913,0.000,0.000,0.000,0.000},
{0.0,0.000,0.125,0.750,0.125,0.000,0.000,0.000},
{0.0,0.000,0.160,0.600,0.240,0.000,0.000,0.000},
{0.0,0.000,0.206,0.706,0.088,0.000,0.000,0.000},
{0.0,0.000,0.233,0.767,0.000,0.000,0.000,0.000},
{0.0,0.000,0.204,0.722,0.074,0.000,0.000,0.000},
{0.0,0.000,0.091,0.545,0.364,0.000,0.000,0.000},
{0.0,0.000,0.184,0.711,0.105,0.000,0.000,0.000},
{0.0,0.000,0.222,0.778,0.000,0.000,0.000,0.000},
{0.0,0.000,0.462,0.538,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.720,0.280,0.000,0.000,0.000,0.000},
{0.0,0.000,0.462,0.538,0.000,0.000,0.000,0.000},
{0.0,0.000,0.650,0.350,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.400,0.600,0.000,0.000,0.000,0.000},
{0.0,0.000,0.308,0.692,0.000,0.000,0.000,0.000},
{0.0,0.000,0.400,0.600,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.100,0.900,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.067,0.800,0.133,0.000,0.000,0.000},
{0.0,0.000,0.167,0.500,0.333,0.000,0.000,0.000},
{0.0,0.000,0.140,0.767,0.093,0.000,0.000,0.000},
{0.0,0.000,0.129,0.871,0.000,0.000,0.000,0.000},
{0.0,0.000,0.107,0.750,0.143,0.000,0.000,0.000},
{0.0,0.000,0.080,0.600,0.320,0.000,0.000,0.000},
{0.0,0.000,0.058,0.826,0.116,0.000,0.000,0.000},
{0.0,0.000,0.045,0.955,0.000,0.000,0.000,0.000},
{0.0,0.000,0.024,0.786,0.190,0.000,0.000,0.000},
{0.0,0.000,0.000,0.600,0.400,0.000,0.000,0.000},
{0.0,0.000,0.082,0.699,0.219,0.000,0.000,0.000},
{0.0,0.000,0.182,0.818,0.000,0.000,0.000,0.000},
{0.0,0.000,0.231,0.769,0.000,0.000,0.000,0.000},
{0.0,0.000,0.500,0.500,0.000,0.000,0.000,0.000},
{0.0,0.000,0.351,0.649,0.000,0.000,0.000,0.000},
{0.0,0.000,0.323,0.677,0.000,0.000,0.000,0.000},
{0.0,0.000,0.462,0.538,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.769,0.231,0.000,0.000,0.000,0.000},
{0.0,0.000,0.400,0.600,0.000,0.000,0.000,0.000},
{0.0,0.000,0.727,0.273,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.667,0.333,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.765,0.235,0.000,0.000,0.000},
{0.0,0.000,0.000,0.600,0.400,0.000,0.000,0.000},
{0.0,0.000,0.027,0.811,0.162,0.000,0.000,0.000},
{0.0,0.000,0.045,0.955,0.000,0.000,0.000,0.000},
{0.0,0.000,0.092,0.716,0.193,0.000,0.000,0.000},
{0.0,0.000,0.123,0.554,0.323,0.000,0.000,0.000},
{0.0,0.000,0.094,0.703,0.195,0.008,0.000,0.000},
{0.0,0.000,0.063,0.857,0.063,0.016,0.000,0.000},
{0.0,0.000,0.031,0.709,0.252,0.008,0.000,0.000},
{0.0,0.000,0.000,0.563,0.438,0.000,0.000,0.000},
{0.0,0.000,0.037,0.701,0.262,0.000,0.000,0.000},
{0.0,0.000,0.093,0.907,0.000,0.000,0.000,0.000},
{0.0,0.000,0.129,0.774,0.097,0.000,0.000,0.000},
{0.0,0.000,0.211,0.474,0.316,0.000,0.000,0.000},
{0.0,0.000,0.133,0.733,0.133,0.000,0.000,0.000},
{0.0,0.000,0.077,0.923,0.000,0.000,0.000,0.000},
{0.0,0.000,0.077,0.923,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.194,0.806,0.000,0.000,0.000,0.000},
{0.0,0.000,0.194,0.806,0.000,0.000,0.000,0.000},
{0.0,0.000,0.242,0.758,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.308,0.692,0.000,0.000,0.000,0.000},
{0.0,0.000,0.182,0.818,0.000,0.000,0.000,0.000},
{0.0,0.000,0.471,0.529,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.250,0.750,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.714,0.286,0.000,0.000,0.000},
{0.0,0.000,0.000,0.500,0.500,0.000,0.000,0.000},
{0.0,0.000,0.032,0.778,0.190,0.000,0.000,0.000},
{0.0,0.000,0.051,0.949,0.000,0.000,0.000,0.000},
{0.0,0.000,0.014,0.653,0.333,0.000,0.000,0.000},
{0.0,0.000,0.000,0.543,0.457,0.000,0.000,0.000},
{0.0,0.000,0.019,0.632,0.325,0.024,0.000,0.000},
{0.0,0.000,0.038,0.721,0.192,0.048,0.000,0.000},
{0.0,0.000,0.039,0.621,0.315,0.025,0.000,0.000},
{0.0,0.000,0.040,0.515,0.444,0.000,0.000,0.000},
{0.0,0.000,0.036,0.701,0.263,0.000,0.000,0.000},
{0.0,0.000,0.029,0.971,0.000,0.000,0.000,0.000},
{0.0,0.000,0.017,0.744,0.239,0.000,0.000,0.000},
{0.0,0.000,0.000,0.429,0.571,0.000,0.000,0.000},
{0.0,0.000,0.046,0.632,0.322,0.000,0.000,0.000},
{0.0,0.000,0.105,0.895,0.000,0.000,0.000,0.000},
{0.0,0.000,0.091,0.909,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.118,0.882,0.000,0.000,0.000,0.000},
{0.0,0.000,0.118,0.882,0.000,0.000,0.000,0.000},
{0.0,0.000,0.075,0.736,0.189,0.000,0.000,0.000},
{0.0,0.000,0.000,0.474,0.526,0.000,0.000,0.000},
{0.0,0.000,0.000,0.783,0.217,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.068,0.661,0.271,0.000,0.000,0.000},
{0.0,0.000,0.125,0.375,0.500,0.000,0.000,0.000},
{0.0,0.000,0.068,0.661,0.271,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.007,0.523,0.470,0.000,0.000,0.000},
{0.0,0.000,0.008,0.418,0.574,0.000,0.000,0.000},
{0.0,0.000,0.004,0.519,0.436,0.041,0.000,0.000},
{0.0,0.000,0.000,0.620,0.298,0.083,0.000,0.000},
{0.0,0.000,0.013,0.535,0.418,0.034,0.000,0.000},
{0.0,0.000,0.023,0.477,0.500,0.000,0.000,0.000},
{0.0,0.000,0.022,0.584,0.375,0.019,0.000,0.000},
{0.0,0.000,0.022,0.791,0.132,0.055,0.000,0.000},
{0.0,0.000,0.020,0.591,0.364,0.025,0.000,0.000},
{0.0,0.000,0.019,0.421,0.561,0.000,0.000,0.000},
{0.0,0.000,0.022,0.646,0.331,0.000,0.000,0.000},
{0.0,0.000,0.027,0.973,0.000,0.000,0.000,0.000},
{0.0,0.000,0.018,0.873,0.109,0.000,0.000,0.000},
{0.0,0.000,0.000,0.667,0.333,0.000,0.000,0.000},
{0.0,0.000,0.026,0.818,0.156,0.000,0.000,0.000},
{0.0,0.000,0.049,0.951,0.000,0.000,0.000,0.000},
{0.0,0.000,0.071,0.929,0.000,0.000,0.000,0.000},
{0.0,0.000,1.000,0.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.027,0.973,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.714,0.286,0.000,0.000,0.000},
{0.0,0.000,0.000,0.500,0.500,0.000,0.000,0.000},
{0.0,0.000,0.047,0.671,0.282,0.000,0.000,0.000},
{0.0,0.000,0.108,0.892,0.000,0.000,0.000,0.000},
{0.0,0.000,0.035,0.548,0.417,0.000,0.000,0.000},
{0.0,0.000,0.000,0.385,0.615,0.000,0.000,0.000},
{0.0,0.000,0.000,0.545,0.420,0.035,0.000,0.000},
{0.0,0.000,0.000,0.738,0.185,0.077,0.000,0.000},
{0.0,0.000,0.005,0.481,0.491,0.024,0.000,0.000},
{0.0,0.000,0.007,0.367,0.626,0.000,0.000,0.000},
{0.0,0.000,0.004,0.435,0.506,0.056,0.000,0.000},
{0.0,0.000,0.000,0.516,0.361,0.123,0.000,0.000},
{0.0,0.000,0.000,0.420,0.538,0.042,0.000,0.000},
{0.0,0.000,0.000,0.370,0.630,0.000,0.000,0.000},
{0.0,0.000,0.000,0.387,0.547,0.066,0.000,0.000},
{0.0,0.000,0.000,0.414,0.414,0.172,0.000,0.000},
{0.0,0.000,0.000,0.416,0.503,0.081,0.000,0.000},
{0.0,0.000,0.000,0.418,0.582,0.000,0.000,0.000},
{0.0,0.000,0.000,0.614,0.386,0.000,0.000,0.000},
{0.0,0.000,0.000,0.957,0.043,0.000,0.000,0.000},
{0.0,0.000,0.000,0.720,0.280,0.000,0.000,0.000},
{0.0,0.000,0.000,0.509,0.491,0.000,0.000,0.000},
{0.0,0.000,0.022,0.692,0.286,0.000,0.000,0.000},
{0.0,0.000,0.053,0.947,0.000,0.000,0.000,0.000},
{0.0,0.000,0.045,0.910,0.045,0.000,0.000,0.000},
{0.0,0.000,0.000,0.692,0.308,0.000,0.000,0.000},
{0.0,0.000,0.000,0.931,0.069,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.760,0.240,0.000,0.000,0.000},
{0.0,0.000,0.000,0.400,0.600,0.000,0.000,0.000},
{0.0,0.000,0.000,0.684,0.316,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.404,0.596,0.000,0.000,0.000},
{0.0,0.000,0.000,0.263,0.737,0.000,0.000,0.000},
{0.0,0.000,0.000,0.312,0.597,0.090,0.000,0.000},
{0.0,0.000,0.000,0.409,0.417,0.174,0.000,0.000},
{0.0,0.000,0.000,0.364,0.577,0.058,0.000,0.000},
{0.0,0.000,0.000,0.364,0.636,0.000,0.000,0.000},
{0.0,0.000,0.000,0.386,0.537,0.078,0.000,0.000},
{0.0,0.000,0.000,0.430,0.413,0.157,0.000,0.000},
{0.0,0.000,0.004,0.342,0.577,0.075,0.002,0.000},
{0.0,0.000,0.007,0.277,0.697,0.016,0.003,0.000},
{0.0,0.000,0.004,0.295,0.593,0.107,0.002,0.000},
{0.0,0.000,0.000,0.316,0.469,0.215,0.000,0.000},
{0.0,0.000,0.000,0.326,0.563,0.111,0.000,0.000},
{0.0,0.000,0.000,0.336,0.664,0.000,0.000,0.000},
{0.0,0.000,0.000,0.433,0.538,0.029,0.000,0.000},
{0.0,0.000,0.000,0.663,0.238,0.099,0.000,0.000},
{0.0,0.000,0.008,0.490,0.463,0.039,0.000,0.000},
{0.0,0.000,0.013,0.380,0.608,0.000,0.000,0.000},
{0.0,0.000,0.008,0.605,0.387,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.723,0.277,0.000,0.000,0.000},
{0.0,0.000,0.000,0.475,0.525,0.000,0.000,0.000},
{0.0,0.000,0.012,0.680,0.308,0.000,0.000,0.000},
{0.0,0.000,0.028,0.972,0.000,0.000,0.000,0.000},
{0.0,0.000,0.018,0.737,0.246,0.000,0.000,0.000},
{0.0,0.000,0.000,0.349,0.651,0.000,0.000,0.000},
{0.0,0.000,0.000,0.671,0.329,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.407,0.593,0.000,0.000,0.000},
{0.0,0.000,0.000,0.200,0.800,0.000,0.000,0.000},
{0.0,0.000,0.000,0.205,0.667,0.128,0.000,0.000},
{0.0,0.000,0.000,0.211,0.526,0.263,0.000,0.000},
{0.0,0.000,0.000,0.195,0.724,0.081,0.000,0.000},
{0.0,0.000,0.000,0.224,0.776,0.000,0.000,0.000},
{0.0,0.000,0.000,0.219,0.636,0.145,0.000,0.000},
{0.0,0.000,0.000,0.247,0.511,0.242,0.000,0.000},
{0.0,0.000,0.000,0.233,0.616,0.144,0.007,0.000},
{0.0,0.000,0.000,0.245,0.679,0.063,0.013,0.000},
{0.0,0.000,0.000,0.255,0.592,0.146,0.007,0.000},
{0.0,0.000,0.000,0.273,0.479,0.247,0.000,0.000},
{0.0,0.000,0.000,0.264,0.611,0.125,0.000,0.000},
{0.0,0.000,0.000,0.255,0.745,0.000,0.000,0.000},
{0.0,0.000,0.000,0.301,0.608,0.092,0.000,0.000},
{0.0,0.000,0.000,0.377,0.377,0.247,0.000,0.000},
{0.0,0.000,0.000,0.348,0.527,0.125,0.000,0.000},
{0.0,0.000,0.000,0.318,0.682,0.000,0.000,0.000},
{0.0,0.000,0.000,0.458,0.542,0.000,0.000,0.000},
{0.0,0.000,0.000,0.846,0.154,0.000,0.000,0.000},
{0.0,0.000,0.000,0.502,0.498,0.000,0.000,0.000},
{0.0,0.000,0.000,0.369,0.631,0.000,0.000,0.000},
{0.0,0.000,0.000,0.529,0.471,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.549,0.451,0.000,0.000,0.000},
{0.0,0.000,0.000,0.333,0.667,0.000,0.000,0.000},
{0.0,0.000,0.000,0.458,0.482,0.060,0.000,0.000},
{0.0,0.000,0.000,0.629,0.229,0.143,0.000,0.000},
{0.0,0.000,0.000,0.360,0.584,0.056,0.000,0.000},
{0.0,0.000,0.000,0.185,0.815,0.000,0.000,0.000},
{0.0,0.000,0.000,0.214,0.651,0.136,0.000,0.000},
{0.0,0.000,0.000,0.248,0.451,0.301,0.000,0.000},
{0.0,0.000,0.000,0.121,0.771,0.108,0.000,0.000},
{0.0,0.000,0.000,0.096,0.904,0.000,0.000,0.000},
{0.0,0.000,0.000,0.079,0.685,0.236,0.000,0.000},
{0.0,0.000,0.000,0.104,0.548,0.348,0.000,0.000},
{0.0,0.000,0.000,0.113,0.651,0.221,0.014,0.000},
{0.0,0.000,0.000,0.147,0.715,0.114,0.024,0.000},
{0.0,0.000,0.000,0.144,0.629,0.215,0.012,0.000},
{0.0,0.000,0.000,0.149,0.538,0.313,0.000,0.000},
{0.0,0.000,0.001,0.173,0.638,0.183,0.005,0.000},
{0.0,0.000,0.002,0.201,0.750,0.036,0.011,0.000},
{0.0,0.000,0.001,0.206,0.624,0.164,0.006,0.000},
{0.0,0.000,0.000,0.211,0.460,0.329,0.000,0.000},
{0.0,0.000,0.000,0.252,0.580,0.168,0.000,0.000},
{0.0,0.000,0.000,0.294,0.706,0.000,0.000,0.000},
{0.0,0.000,0.000,0.377,0.590,0.034,0.000,0.000},
{0.0,0.000,0.000,0.556,0.339,0.106,0.000,0.000},
{0.0,0.000,0.000,0.393,0.561,0.047,0.000,0.000},
{0.0,0.000,0.000,0.264,0.736,0.000,0.000,0.000},
{0.0,0.000,0.000,0.399,0.601,0.000,0.000,0.000},
{0.0,0.000,0.000,1.000,0.000,0.000,0.000,0.000},
{0.0,0.000,0.000,0.399,0.601,0.000,0.000,0.000},
{0.0,0.000,0.000,0.259,0.741,0.000,0.000,0.000},
{0.0,0.000,0.000,0.261,0.618,0.121,0.000,0.000},
{0.0,0.000,0.000,0.264,0.462,0.275,0.000,0.000},
{0.0,0.000,0.000,0.205,0.678,0.118,0.000,0.000},
{0.0,0.000,0.000,0.160,0.840,0.000,0.000,0.000},
{0.0,0.000,0.000,0.197,0.617,0.186,0.000,0.000},
{0.0,0.000,0.000,0.224,0.449,0.327,0.000,0.000},
{0.0,0.000,0.000,0.149,0.635,0.207,0.010,0.000},
{0.0,0.000,0.000,0.082,0.848,0.054,0.016,0.000},
{0.0,0.000,0.000,0.076,0.630,0.289,0.006,0.000},
{0.0,0.000,0.000,0.084,0.557,0.359,0.000,0.000},
{0.0,0.000,0.000,0.074,0.629,0.276,0.020,0.000},
{0.0,0.000,0.000,0.078,0.740,0.146,0.036,0.000},
{0.0,0.000,0.000,0.071,0.616,0.298,0.016,0.000},
{0.0,0.000,0.000,0.069,0.533,0.398,0.000,0.000},
{0.0,0.000,0.000,0.076,0.606,0.297,0.021,0.000},
{0.0,0.000,0.000,0.086,0.702,0.163,0.049,0.000},
{0.0,0.000,0.000,0.088,0.615,0.271,0.026,0.000},
{0.0,0.000,0.000,0.091,0.520,0.389,0.000,0.000},
{0.0,0.000,0.000,0.142,0.654,0.204,0.000,0.000},
{0.0,0.000,0.000,0.196,0.796,0.008,0.000,0.000},
{0.0,0.000,0.000,0.210,0.677,0.113,0.000,0.000},
{0.0,0.000,0.000,0.232,0.485,0.284,0.000,0.000},
{0.0,0.000,0.000,0.253,0.612,0.135,0.000,0.000},
{0.0,0.000,0.000,0.273,0.727,0.000,0.000,0.000},
{0.0,0.000,0.000,0.367,0.623,0.009,0.000,0.000},
{0.0,0.000,0.000,0.736,0.218,0.045,0.000,0.000},
{0.0,0.000,0.000,0.312,0.675,0.013,0.000,0.000},
{0.0,0.000,0.000,0.148,0.852,0.000,0.000,0.000},
{0.0,0.000,0.000,0.196,0.679,0.125,0.000,0.000},
{0.0,0.000,0.000,0.265,0.429,0.306,0.000,0.000},
{0.0,0.000,0.000,0.229,0.633,0.138,0.000,0.000},
{0.0,0.000,0.000,0.164,0.836,0.000,0.000,0.000},
{0.0,0.000,0.000,0.097,0.579,0.323,0.000,0.000},
{0.0,0.000,0.000,0.039,0.538,0.424,0.000,0.000},
{0.0,0.000,0.000,0.051,0.591,0.328,0.030,0.000},
{0.0,0.000,0.000,0.045,0.760,0.150,0.045,0.000},
{0.0,0.000,0.000,0.066,0.568,0.346,0.020,0.000},
{0.0,0.000,0.000,0.076,0.528,0.395,0.000,0.000},
{0.0,0.000,0.000,0.075,0.562,0.333,0.030,0.000},
{0.0,0.000,0.000,0.069,0.682,0.195,0.054,0.000},
{0.0,0.000,0.000,0.049,0.558,0.365,0.027,0.000},
{0.0,0.000,0.000,0.038,0.507,0.450,0.004,0.001},
{0.0,0.000,0.000,0.041,0.537,0.381,0.041,0.000},
{0.0,0.000,0.000,0.042,0.608,0.265,0.085,0.000},
{0.0,0.000,0.000,0.046,0.557,0.354,0.044,0.000},
{0.0,0.000,0.000,0.050,0.503,0.447,0.000,0.000},
{0.0,0.000,0.000,0.063,0.634,0.294,0.008,0.000},
{0.0,0.000,0.000,0.083,0.828,0.069,0.021,0.000},
{0.0,0.000,0.000,0.082,0.676,0.231,0.011,0.000},
{0.0,0.000,0.000,0.086,0.507,0.407,0.000,0.000},
{0.0,0.000,0.000,0.124,0.673,0.203,0.000,0.000},
{0.0,0.000,0.000,0.165,0.835,0.000,0.000,0.000},
{0.0,0.000,0.000,0.151,0.752,0.097,0.000,0.000},
{0.0,0.000,0.000,0.127,0.562,0.310,0.000,0.000},
{0.0,0.000,0.000,0.161,0.715,0.124,0.000,0.000},
{0.0,0.000,0.000,0.174,0.826,0.000,0.000,0.000},
{0.0,0.000,0.000,0.220,0.669,0.111,0.000,0.000},
{0.0,0.000,0.000,0.285,0.411,0.304,0.000,0.000},
{0.0,0.000,0.000,0.199,0.658,0.143,0.000,0.000},
{0.0,0.000,0.000,0.105,0.895,0.000,0.000,0.000},
{0.0,0.000,0.000,0.077,0.560,0.363,0.000,0.000},
{0.0,0.000,0.000,0.058,0.432,0.510,0.000,0.000},
{0.0,0.000,0.000,0.053,0.456,0.440,0.051,0.000},
{0.0,0.000,0.000,0.037,0.639,0.244,0.081,0.000},
{0.0,0.000,0.000,0.029,0.477,0.462,0.032,0.000},
{0.0,0.000,0.000,0.023,0.510,0.467,0.000,0.000},
{0.0,0.000,0.000,0.031,0.485,0.427,0.057,0.000},
{0.0,0.000,0.000,0.038,0.580,0.289,0.094,0.000},
{0.0,0.000,0.000,0.039,0.469,0.433,0.056,0.002},
{0.0,0.000,0.000,0.040,0.456,0.482,0.019,0.003},
{0.0,0.000,0.000,0.031,0.485,0.422,0.061,0.002},
{0.0,0.000,0.000,0.021,0.574,0.299,0.106,0.000},
{0.0,0.000,0.000,0.026,0.505,0.415,0.054,0.000},
{0.0,0.000,0.000,0.030,0.460,0.510,0.000,0.000},
{0.0,0.000,0.000,0.037,0.534,0.396,0.033,0.000},
{0.0,0.000,0.000,0.056,0.655,0.204,0.085,0.000},
{0.0,0.000,0.000,0.047,0.574,0.334,0.045,0.000},
{0.0,0.000,0.000,0.049,0.480,0.471,0.000,0.000},
{0.0,0.000,0.000,0.039,0.675,0.287,0.000,0.000},
{0.0,0.000,0.000,0.040,0.933,0.027,0.000,0.000},
{0.0,0.000,0.000,0.035,0.738,0.227,0.000,0.000},
{0.0,0.000,0.000,0.035,0.549,0.417,0.000,0.000},
{0.0,0.000,0.000,0.074,0.698,0.228,0.000,0.000},
{0.0,0.000,0.000,0.120,0.880,0.000,0.000,0.000},
{0.0,0.000,0.000,0.091,0.703,0.206,0.000,0.000},
{0.0,0.000,0.000,0.064,0.499,0.437,0.000,0.000},
{0.0,0.000,0.000,0.092,0.632,0.258,0.018,0.000},
{0.0,0.000,0.000,0.112,0.783,0.074,0.031,0.000},
{0.0,0.000,0.000,0.080,0.531,0.374,0.015,0.000},
{0.0,0.000,0.000,0.050,0.415,0.535,0.000,0.000},
{0.0,0.000,0.000,0.049,0.436,0.456,0.059,0.000},
{0.0,0.000,0.000,0.035,0.602,0.258,0.105,0.000},
{0.0,0.000,0.000,0.039,0.394,0.518,0.049,0.000},
{0.0,0.000,0.000,0.029,0.385,0.586,0.000,0.000},
{0.0,0.000,0.000,0.018,0.345,0.528,0.109,0.000},
{0.0,0.000,0.000,0.006,0.414,0.442,0.138,0.000},
{0.0,0.000,0.000,0.006,0.357,0.533,0.100,0.004},
{0.0,0.000,0.000,0.009,0.401,0.547,0.036,0.006},
{0.0,0.000,0.000,0.013,0.403,0.485,0.094,0.004},
{0.0,0.000,0.000,0.019,0.478,0.362,0.140,0.000},
{0.0,0.000,0.000,0.017,0.416,0.485,0.080,0.001},
{0.0,0.000,0.000,0.016,0.411,0.559,0.011,0.003},
{0.0,0.000,0.000,0.018,0.443,0.469,0.068,0.002},
{0.0,0.000,0.000,0.019,0.540,0.302,0.139,0.000},
{0.0,0.000,0.000,0.023,0.493,0.410,0.074,0.000},
{0.0,0.000,0.000,0.027,0.489,0.483,0.000,0.000},
{0.0,0.000,0.000,0.032,0.592,0.365,0.011,0.000},
{0.0,0.000,0.000,0.042,0.809,0.122,0.028,0.000},
{0.0,0.000,0.000,0.026,0.642,0.318,0.014,0.000},
{0.0,0.000,0.000,0.015,0.481,0.503,0.000,0.000},
{0.0,0.000,0.000,0.029,0.653,0.318,0.000,0.000},
{0.0,0.000,0.000,0.049,0.951,0.000,0.000,0.000},
{0.0,0.000,0.000,0.037,0.638,0.325,0.000,0.000},
{0.0,0.000,0.000,0.024,0.479,0.496,0.000,0.000},
{0.0,0.000,0.000,0.034,0.544,0.378,0.044,0.000},
{0.0,0.000,0.000,0.038,0.683,0.198,0.081,0.000},
{0.0,0.000,0.000,0.033,0.550,0.364,0.053,0.000},
{0.0,0.000,0.000,0.011,0.383,0.605,0.000,0.000},
{0.0,0.000,0.000,0.025,0.433,0.460,0.083,0.000},
{0.0,0.000,0.000,0.024,0.449,0.422,0.104,0.000},
{0.0,0.000,0.000,0.025,0.360,0.531,0.082,0.002},
{0.0,0.000,0.000,0.011,0.310,0.662,0.014,0.003},
{0.0,0.000,0.000,0.009,0.272,0.572,0.146,0.002},
{0.0,0.000,0.000,0.006,0.330,0.478,0.185,0.000},
{0.0,0.000,0.000,0.010,0.287,0.534,0.160,0.008},
{0.0,0.000,0.000,0.009,0.320,0.607,0.054,0.010},
{0.0,0.000,0.000,0.006,0.288,0.547,0.153,0.006},
{0.0,0.000,0.000,0.002,0.307,0.523,0.167,0.000},
{0.0,0.000,0.000,0.006,0.300,0.549,0.139,0.006},
{0.0,0.000,0.000,0.008,0.327,0.606,0.048,0.011},
{0.0,0.000,0.000,0.008,0.345,0.521,0.118,0.007},
{0.0,0.000,0.000,0.009,0.413,0.389,0.189,0.000},
{0.0,0.000,0.000,0.008,0.396,0.498,0.098,0.000},
{0.0,0.000,0.000,0.007,0.424,0.567,0.002,0.000},
{0.0,0.000,0.000,0.012,0.470,0.475,0.043,0.000},
{0.0,0.000,0.000,0.017,0.631,0.250,0.101,0.000},
{0.0,0.000,0.000,0.020,0.530,0.398,0.053,0.000},
{0.0,0.000,0.000,0.022,0.493,0.485,0.000,0.000},
{0.0,0.000,0.000,0.027,0.594,0.377,0.002,0.000},
{0.0,0.000,0.000,0.039,0.905,0.050,0.006,0.000},
{0.0,0.000,0.000,0.015,0.609,0.373,0.003,0.000},
{0.0,0.000,0.000,0.004,0.401,0.595,0.000,0.000},
{0.0,0.000,0.000,0.012,0.465,0.465,0.058,0.000},
{0.0,0.000,0.000,0.020,0.566,0.305,0.109,0.000},
{0.0,0.000,0.000,0.021,0.465,0.454,0.060,0.000},
{0.0,0.000,0.000,0.014,0.358,0.628,0.000,0.000},
{0.0,0.000,0.000,0.011,0.324,0.524,0.142,0.000},
{0.0,0.000,0.000,0.004,0.328,0.482,0.186,0.000},
{0.0,0.000,0.000,0.004,0.293,0.525,0.167,0.010},
{0.0,0.000,0.000,0.002,0.271,0.664,0.051,0.012},
{0.0,0.000,0.000,0.007,0.269,0.566,0.150,0.008},
{0.0,0.000,0.000,0.006,0.270,0.530,0.195,0.000},
{0.0,0.000,0.000,0.004,0.240,0.560,0.185,0.012},
{0.0,0.000,0.000,0.002,0.237,0.622,0.126,0.013},
{0.0,0.000,0.000,0.003,0.209,0.567,0.211,0.010},
{0.0,0.000,0.000,0.004,0.233,0.524,0.238,0.001},
{0.0,0.000,0.000,0.003,0.219,0.545,0.217,0.016},
{0.0,0.000,0.000,0.004,0.248,0.625,0.099,0.024},
{0.0,0.000,0.000,0.002,0.229,0.569,0.184,0.015},
{0.0,0.000,0.000,0.000,0.260,0.522,0.218,0.000},
{0.0,0.000,0.000,0.002,0.274,0.576,0.145,0.002},
{0.0,0.000,0.000,0.005,0.346,0.626,0.019,0.005},
{0.0,0.000,0.000,0.005,0.339,0.556,0.097,0.003},
{0.0,0.000,0.000,0.005,0.446,0.362,0.187,0.000},
{0.0,0.000,0.000,0.007,0.395,0.502,0.095,0.000},
{0.0,0.000,0.000,0.008,0.428,0.564,0.000,0.000},
{0.0,0.000,0.000,0.010,0.476,0.485,0.029,0.000},
{0.0,0.000,0.000,0.012,0.653,0.256,0.079,0.000},
{0.0,0.000,0.000,0.012,0.502,0.445,0.041,0.000},
{0.0,0.000,0.000,0.008,0.371,0.621,0.000,0.000},
{0.0,0.000,0.000,0.010,0.450,0.487,0.053,0.000},
{0.0,0.000,0.000,0.009,0.540,0.351,0.100,0.000},
{0.0,0.000,0.000,0.006,0.471,0.457,0.067,0.000},
{0.0,0.000,0.000,0.000,0.300,0.700,0.000,0.000},
{0.0,0.000,0.000,0.003,0.323,0.568,0.106,0.000},
{0.0,0.000,0.000,0.003,0.215,0.530,0.251,0.000},
{0.0,0.000,0.000,0.003,0.201,0.536,0.242,0.019},
{0.0,0.000,0.000,0.001,0.148,0.658,0.173,0.019},
{0.0,0.000,0.000,0.001,0.193,0.575,0.217,0.014},
{0.0,0.000,0.000,0.000,0.184,0.563,0.253,0.000},
{0.0,0.000,0.000,0.000,0.174,0.529,0.271,0.026},
{0.0,0.000,0.000,0.000,0.173,0.622,0.178,0.026},
{0.0,0.000,0.000,0.002,0.157,0.551,0.268,0.021},
{0.0,0.000,0.000,0.003,0.179,0.554,0.259,0.005},
{0.0,0.000,0.000,0.003,0.164,0.535,0.272,0.026},
{0.0,0.000,0.000,0.002,0.200,0.627,0.135,0.036},
{0.0,0.000,0.000,0.001,0.175,0.560,0.243,0.022},
{0.0,0.000,0.000,0.000,0.197,0.541,0.261,0.000},
{0.0,0.000,0.000,0.001,0.198,0.570,0.219,0.011},
{0.0,0.000,0.000,0.002,0.244,0.655,0.076,0.023},
{0.0,0.000,0.000,0.003,0.232,0.580,0.171,0.014},
{0.0,0.000,0.000,0.002,0.281,0.464,0.252,0.000},
{0.0,0.000,0.000,0.002,0.268,0.583,0.146,0.000},
{0.0,0.000,0.000,0.002,0.316,0.676,0.006,0.000},
{0.0,0.000,0.000,0.001,0.308,0.603,0.087,0.000},
{0.0,0.000,0.000,0.002,0.366,0.458,0.175,0.000},
{0.0,0.000,0.000,0.003,0.351,0.542,0.105,0.000},
{0.0,0.000,0.000,0.004,0.349,0.646,0.000,0.000},
{0.0,0.000,0.000,0.004,0.402,0.553,0.041,0.000},
{0.0,0.000,0.000,0.002,0.399,0.444,0.155,0.000},
{0.0,0.000,0.000,0.003,0.347,0.532,0.113,0.005},
{0.0,0.000,0.000,0.003,0.241,0.662,0.088,0.006},
{0.0,0.000,0.000,0.005,0.282,0.569,0.139,0.005},
{0.0,0.000,0.000,0.004,0.223,0.481,0.292,0.000},
{0.0,0.000,0.000,0.003,0.213,0.478,0.280,0.027},
{0.0,0.000,0.000,0.000,0.124,0.645,0.202,0.028},
{0.0,0.000,0.000,0.000,0.131,0.542,0.307,0.019},
{0.0,0.000,0.000,0.000,0.106,0.568,0.326,0.000},
{0.0,0.000,0.000,0.001,0.101,0.498,0.354,0.047},
{0.0,0.000,0.000,0.001,0.100,0.606,0.242,0.051},
{0.0,0.000,0.000,0.001,0.107,0.532,0.311,0.050},
{0.0,0.000,0.000,0.000,0.113,0.548,0.327,0.012},
{0.0,0.000,0.000,0.000,0.108,0.530,0.319,0.042},
{0.0,0.000,0.000,0.000,0.117,0.585,0.256,0.042},
{0.0,0.000,0.000,0.001,0.114,0.536,0.315,0.034},
{0.0,0.000,0.000,0.001,0.136,0.524,0.336,0.003},
{0.0,0.000,0.000,0.001,0.131,0.547,0.294,0.027},
{0.0,0.000,0.000,0.000,0.184,0.631,0.139,0.046},
{0.0,0.000,0.000,0.000,0.169,0.562,0.239,0.029},
{0.0,0.000,0.000,0.000,0.212,0.503,0.285,0.000},
{0.0,0.000,0.000,0.001,0.191,0.592,0.213,0.004},
{0.0,0.000,0.000,0.002,0.233,0.722,0.037,0.007},
{0.0,0.000,0.000,0.001,0.211,0.630,0.154,0.004},
{0.0,0.000,0.000,0.000,0.239,0.526,0.235,0.000},
{0.0,0.000,0.000,0.000,0.240,0.606,0.155,0.000},
{0.0,0.000,0.000,0.000,0.268,0.722,0.010,0.000},
{0.0,0.000,0.000,0.000,0.264,0.634,0.102,0.000},
{0.0,0.000,0.000,0.000,0.230,0.507,0.263,0.000},
{0.0,0.000,0.000,0.001,0.230,0.544,0.208,0.017},
{0.0,0.000,0.000,0.002,0.185,0.655,0.138,0.020},
{0.0,0.000,0.000,0.001,0.222,0.572,0.188,0.016},
{0.0,0.000,0.000,0.000,0.165,0.526,0.309,0.000},
{0.0,0.000,0.000,0.000,0.173,0.483,0.307,0.037},
{0.0,0.000,0.000,0.000,0.120,0.606,0.235,0.039},
{0.0,0.000,0.000,0.001,0.149,0.549,0.261,0.040},
{0.0,0.000,0.000,0.001,0.092,0.521,0.384,0.003},
{0.0,0.000,0.000,0.001,0.088,0.475,0.390,0.046},
{0.0,0.000,0.000,0.000,0.055,0.517,0.362,0.066},
{0.0,0.000,0.000,0.000,0.062,0.475,0.391,0.073},
{0.0,0.000,0.000,0.000,0.062,0.484,0.414,0.040},
{0.0,0.000,0.000,0.000,0.061,0.456,0.410,0.073},
{0.0,0.000,0.000,0.000,0.068,0.532,0.329,0.071},
{0.0,0.000,0.000,0.000,0.073,0.496,0.364,0.068},
{0.0,0.000,0.000,0.000,0.079,0.525,0.382,0.014},
{0.0,0.000,0.000,0.000,0.080,0.490,0.375,0.055},
{0.0,0.000,0.000,0.000,0.089,0.569,0.281,0.061},
{0.0,0.000,0.000,0.000,0.095,0.538,0.321,0.046},
{0.0,0.000,0.000,0.000,0.110,0.558,0.332,0.000},
{0.0,0.000,0.000,0.000,0.119,0.575,0.289,0.016},
{0.0,0.000,0.000,0.000,0.173,0.676,0.124,0.028},
{0.0,0.000,0.000,0.000,0.157,0.602,0.222,0.019},
{0.0,0.000,0.000,0.000,0.188,0.524,0.288,0.000},
{0.0,0.000,0.000,0.000,0.182,0.588,0.228,0.000},
{0.0,0.000,0.000,0.001,0.203,0.774,0.021,0.001},
{0.0,0.000,0.000,0.001,0.179,0.669,0.152,0.001},
{0.0,0.000,0.000,0.000,0.138,0.573,0.289,0.000},
{0.0,0.000,0.000,0.000,0.155,0.553,0.267,0.024},
{0.0,0.000,0.000,0.000,0.140,0.638,0.192,0.030},
{0.0,0.000,0.000,0.000,0.162,0.598,0.213,0.026},
{0.0,0.000,0.000,0.000,0.103,0.512,0.385,0.000},
{0.0,0.000,0.000,0.001,0.133,0.529,0.326,0.011},
{0.0,0.000,0.000,0.001,0.076,0.533,0.327,0.063},
{0.0,0.000,0.000,0.000,0.092,0.477,0.360,0.070},
{0.0,0.000,0.000,0.000,0.056,0.440,0.451,0.053},
{0.0,0.000,0.000,0.000,0.073,0.421,0.435,0.070},
{0.0,0.000,0.000,0.000,0.055,0.483,0.375,0.087},
{0.0,0.000,0.000,0.000,0.067,0.443,0.377,0.112},
{0.0,0.000,0.000,0.000,0.048,0.444,0.455,0.052},
{0.0,0.000,0.000,0.000,0.052,0.437,0.446,0.065},
{0.0,0.000,0.000,0.000,0.037,0.441,0.430,0.092},
{0.0,0.000,0.000,0.000,0.037,0.410,0.437,0.115},
{0.0,0.000,0.000,0.000,0.039,0.414,0.464,0.083},
{0.0,0.000,0.000,0.000,0.043,0.424,0.442,0.090},
{0.0,0.000,0.000,0.000,0.049,0.512,0.354,0.085},
{0.0,0.000,0.000,0.000,0.049,0.491,0.386,0.073},
{0.0,0.000,0.000,0.000,0.055,0.529,0.410,0.005},
{0.0,0.000,0.000,0.000,0.063,0.495,0.399,0.043},
{0.0,0.000,0.000,0.000,0.081,0.597,0.265,0.058},
{0.0,0.000,0.000,0.000,0.084,0.563,0.309,0.043},
{0.0,0.000,0.000,0.000,0.093,0.586,0.320,0.000},
{0.0,0.000,0.000,0.000,0.101,0.588,0.301,0.009},
{0.0,0.000,0.000,0.000,0.134,0.724,0.125,0.016},
{0.0,0.000,0.000,0.000,0.122,0.633,0.233,0.012},
{0.0,0.000,0.000,0.000,0.109,0.534,0.356,0.000},
{0.0,0.000,0.000,0.000,0.120,0.564,0.306,0.010},
{0.0,0.000,0.000,0.000,0.117,0.645,0.202,0.036},
{0.0,0.000,0.000,0.000,0.149,0.617,0.199,0.034},
{0.0,0.000,0.000,0.000,0.080,0.469,0.432,0.019},
{0.0,0.000,0.000,0.000,0.089,0.475,0.396,0.040},
{0.0,0.000,0.000,0.000,0.044,0.455,0.411,0.090},
{0.0,0.000,0.000,0.000,0.062,0.435,0.375,0.129},
{0.0,0.000,0.000,0.000,0.031,0.381,0.512,0.075},
{0.0,0.000,0.000,0.000,0.051,0.426,0.470,0.054},
{0.0,0.000,0.000,0.000,0.031,0.403,0.456,0.110},
{0.0,0.000,0.000,0.000,0.042,0.378,0.427,0.153},
{0.0,0.000,0.000,0.000,0.028,0.361,0.504,0.107},
{0.0,0.000,0.000,0.000,0.034,0.358,0.494,0.113},
{0.0,0.000,0.000,0.000,0.027,0.383,0.467,0.124},
{0.0,0.000,0.000,0.000,0.033,0.360,0.436,0.170},
{0.0,0.000,0.000,0.000,0.027,0.377,0.495,0.101},
{0.0,0.000,0.000,0.000,0.025,0.345,0.496,0.133},
{0.0,0.000,0.000,0.000,0.024,0.405,0.460,0.111},
{0.0,0.000,0.000,0.000,0.030,0.404,0.442,0.123},
{0.0,0.000,0.000,0.000,0.038,0.478,0.459,0.024},
{0.0,0.000,0.000,0.000,0.035,0.419,0.463,0.083},
{0.0,0.000,0.000,0.000,0.037,0.508,0.368,0.087},
{0.0,0.000,0.000,0.000,0.042,0.490,0.393,0.075},
{0.0,0.000,0.000,0.000,0.042,0.540,0.416,0.001},
{0.0,0.000,0.000,0.000,0.045,0.519,0.406,0.031},
{0.0,0.000,0.000,0.000,0.052,0.615,0.284,0.049},
{0.0,0.000,0.000,0.000,0.062,0.573,0.324,0.042},
{0.0,0.000,0.000,0.000,0.060,0.526,0.409,0.006},
{0.0,0.000,0.000,0.000,0.078,0.563,0.357,0.002},
{0.0,0.000,0.000,0.000,0.075,0.599,0.275,0.052},
{0.0,0.000,0.000,0.000,0.086,0.581,0.278,0.055},
{0.0,0.000,0.000,0.000,0.046,0.435,0.472,0.047},
{0.0,0.000,0.000,0.000,0.065,0.451,0.449,0.035},
{0.0,0.000,0.000,0.000,0.042,0.407,0.436,0.116},
{0.0,0.000,0.000,0.000,0.060,0.397,0.388,0.155},
{0.0,0.000,0.000,0.000,0.029,0.328,0.533,0.110},
{0.0,0.000,0.000,0.000,0.039,0.358,0.520,0.083},
{0.0,0.000,0.000,0.000,0.015,0.317,0.511,0.157},
{0.0,0.000,0.000,0.000,0.025,0.315,0.455,0.205},
{0.0,0.000,0.000,0.000,0.013,0.288,0.543,0.156},
{0.0,0.000,0.000,0.000,0.019,0.276,0.531,0.174},
{0.0,0.000,0.000,0.000,0.014,0.301,0.510,0.175},
{0.0,0.000,0.000,0.000,0.019,0.294,0.467,0.221},
{0.0,0.000,0.000,0.000,0.015,0.329,0.528,0.128},
{0.0,0.000,0.000,0.000,0.016,0.314,0.526,0.143},
{0.0,0.000,0.000,0.000,0.014,0.335,0.503,0.148},
{0.0,0.000,0.000,0.000,0.020,0.321,0.485,0.175},
{0.0,0.000,0.000,0.000,0.020,0.353,0.506,0.121},
{0.0,0.000,0.000,0.000,0.022,0.344,0.503,0.131},
{0.0,0.000,0.000,0.000,0.022,0.427,0.423,0.127},
{0.0,0.000,0.000,0.000,0.021,0.405,0.463,0.111},
{0.0,0.000,0.000,0.000,0.025,0.468,0.489,0.018},
{0.0,0.000,0.000,0.000,0.023,0.425,0.491,0.062},
{0.0,0.000,0.000,0.000,0.028,0.509,0.370,0.094},
{0.0,0.000,0.000,0.000,0.032,0.494,0.391,0.083},
{0.0,0.000,0.000,0.000,0.031,0.484,0.469,0.016},
{0.0,0.000,0.000,0.000,0.036,0.498,0.449,0.017},
{0.0,0.000,0.000,0.000,0.029,0.488,0.401,0.082},
{0.0,0.000,0.000,0.000,0.036,0.471,0.394,0.100},
{0.0,0.000,0.000,0.000,0.025,0.387,0.510,0.078},
{0.0,0.000,0.000,0.000,0.039,0.416,0.480,0.065},
{0.0,0.000,0.000,0.000,0.028,0.388,0.443,0.141},
{0.0,0.000,0.000,0.000,0.035,0.413,0.395,0.158},
{0.0,0.000,0.000,0.000,0.015,0.301,0.550,0.134},
{0.0,0.000,0.000,0.000,0.023,0.306,0.535,0.136},
{0.0,0.000,0.000,0.000,0.014,0.251,0.525,0.210},
{0.0,0.000,0.000,0.000,0.021,0.252,0.465,0.262},
{0.0,0.000,0.000,0.000,0.011,0.227,0.561,0.201},
{0.0,0.000,0.000,0.000,0.012,0.244,0.556,0.188},
{0.0,0.000,0.000,0.000,0.006,0.230,0.537,0.228},
{0.0,0.000,0.000,0.000,0.008,0.237,0.510,0.245},
{0.0,0.000,0.000,0.000,0.007,0.230,0.550,0.213},
{0.0,0.000,0.000,0.000,0.010,0.226,0.548,0.217},
{0.0,0.000,0.000,0.000,0.008,0.244,0.515,0.233},
{0.0,0.000,0.000,0.000,0.010,0.250,0.494,0.246},
{0.0,0.000,0.000,0.000,0.009,0.295,0.540,0.156},
{0.0,0.000,0.000,0.000,0.010,0.283,0.544,0.163},
{0.0,0.000,0.000,0.000,0.010,0.324,0.503,0.163},
{0.0,0.000,0.000,0.000,0.014,0.323,0.485,0.178},
{0.0,0.000,0.000,0.000,0.016,0.369,0.522,0.094},
{0.0,0.000,0.000,0.000,0.017,0.358,0.525,0.100},
{0.0,0.000,0.000,0.000,0.016,0.403,0.465,0.117},
{0.0,0.000,0.000,0.000,0.017,0.401,0.463,0.119},
{0.0,0.000,0.000,0.000,0.015,0.408,0.537,0.040},
{0.0,0.000,0.000,0.000,0.017,0.395,0.533,0.055},
{0.0,0.000,0.000,0.000,0.016,0.396,0.462,0.127},
{0.0,0.000,0.000,0.000,0.020,0.405,0.432,0.143},
{0.0,0.000,0.000,0.000,0.015,0.345,0.542,0.098},
{0.0,0.000,0.000,0.000,0.018,0.373,0.535,0.074},
{0.0,0.000,0.000,0.000,0.010,0.304,0.502,0.185},
{0.0,0.000,0.000,0.000,0.014,0.331,0.455,0.200},
{0.0,0.000,0.000,0.000,0.008,0.253,0.552,0.188},
{0.0,0.000,0.000,0.000,0.016,0.288,0.546,0.150},
{0.0,0.000,0.000,0.000,0.008,0.218,0.517,0.257},
{0.0,0.000,0.000,0.000,0.011,0.233,0.486,0.270},
{0.0,0.000,0.000,0.000,0.005,0.185,0.552,0.258},
{0.0,0.000,0.000,0.000,0.008,0.209,0.555,0.228},
{0.0,0.000,0.000,0.000,0.005,0.177,0.520,0.297},
{0.0,0.000,0.000,0.000,0.007,0.180,0.491,0.322},
{0.0,0.000,0.000,0.000,0.004,0.171,0.544,0.281},
{0.0,0.000,0.000,0.000,0.005,0.186,0.552,0.257},
{0.0,0.000,0.000,0.000,0.004,0.181,0.529,0.286},
{0.0,0.000,0.000,0.000,0.005,0.186,0.506,0.302},
{0.0,0.000,0.000,0.000,0.004,0.195,0.552,0.249},
{0.0,0.000,0.000,0.000,0.006,0.216,0.560,0.218},
{0.0,0.000,0.000,0.000,0.004,0.221,0.533,0.242},
{0.0,0.000,0.000,0.000,0.005,0.228,0.514,0.254},
{0.0,0.000,0.000,0.000,0.005,0.261,0.563,0.171},
{0.0,0.000,0.000,0.000,0.007,0.277,0.566,0.150},
{0.0,0.000,0.000,0.000,0.008,0.313,0.517,0.162},
{0.0,0.000,0.000,0.000,0.010,0.311,0.488,0.191},
{0.0,0.000,0.000,0.000,0.010,0.335,0.566,0.089},
{0.0,0.000,0.000,0.000,0.011,0.322,0.574,0.093},
{0.0,0.000,0.000,0.000,0.008,0.318,0.526,0.147},
{0.0,0.000,0.000,0.000,0.010,0.337,0.476,0.177},
{0.0,0.000,0.000,0.000,0.008,0.306,0.565,0.121},
{0.0,0.000,0.000,0.000,0.010,0.336,0.573,0.082},
{0.0,0.000,0.000,0.000,0.006,0.247,0.516,0.230},
{0.0,0.000,0.000,0.000,0.009,0.265,0.471,0.255},
{0.0,0.000,0.000,0.000,0.005,0.189,0.551,0.254},
{0.0,0.000,0.000,0.000,0.007,0.228,0.565,0.200},
{0.0,0.000,0.000,0.000,0.003,0.164,0.517,0.316},
{0.0,0.000,0.000,0.000,0.005,0.184,0.472,0.339},
{0.0,0.000,0.000,0.000,0.002,0.148,0.534,0.316},
{0.0,0.000,0.000,0.000,0.005,0.186,0.549,0.260},
{0.0,0.000,0.000,0.000,0.002,0.141,0.515,0.342},
{0.0,0.000,0.000,0.000,0.004,0.151,0.485,0.359},
{0.0,0.000,0.000,0.000,0.002,0.127,0.522,0.348},
{0.0,0.000,0.000,0.000,0.003,0.144,0.540,0.313},
{0.0,0.000,0.000,0.000,0.002,0.133,0.508,0.357},
{0.0,0.000,0.000,0.000,0.003,0.138,0.486,0.373},
{0.0,0.000,0.000,0.000,0.002,0.143,0.533,0.323},
{0.0,0.000,0.000,0.000,0.002,0.160,0.560,0.277},
{0.0,0.000,0.000,0.000,0.002,0.158,0.536,0.304},
{0.0,0.000,0.000,0.000,0.003,0.165,0.503,0.329},
{0.0,0.000,0.000,0.000,0.003,0.177,0.562,0.258},
{0.0,0.000,0.000,0.000,0.003,0.201,0.589,0.207},
{0.0,0.000,0.000,0.000,0.002,0.202,0.560,0.236},
{0.0,0.000,0.000,0.000,0.003,0.207,0.522,0.268},
{0.0,0.000,0.000,0.000,0.003,0.229,0.586,0.182},
{0.0,0.000,0.000,0.000,0.005,0.247,0.604,0.144},
{0.0,0.000,0.000,0.000,0.004,0.244,0.553,0.199},
{0.0,0.000,0.000,0.000,0.005,0.260,0.509,0.226},
{0.0,0.000,0.000,0.000,0.004,0.248,0.578,0.170},
{0.0,0.000,0.000,0.000,0.005,0.274,0.608,0.113},
{0.0,0.000,0.000,0.000,0.003,0.204,0.525,0.267},
{0.0,0.000,0.000,0.000,0.005,0.227,0.482,0.287},
{0.0,0.000,0.000,0.000,0.003,0.166,0.530,0.301},
{0.0,0.000,0.000,0.000,0.005,0.201,0.560,0.234},
{0.0,0.000,0.000,0.000,0.002,0.126,0.494,0.378},
{0.0,0.000,0.000,0.000,0.003,0.151,0.464,0.382},
{0.0,0.000,0.000,0.000,0.001,0.104,0.506,0.389},
{0.0,0.000,0.000,0.000,0.002,0.132,0.532,0.335},
{0.0,0.000,0.000,0.000,0.001,0.095,0.487,0.417},
{0.0,0.000,0.000,0.000,0.002,0.111,0.457,0.430},
{0.0,0.000,0.000,0.000,0.001,0.094,0.493,0.411},
{0.0,0.000,0.000,0.000,0.002,0.114,0.518,0.366},
{0.0,0.000,0.000,0.000,0.001,0.096,0.491,0.413},
{0.0,0.000,0.000,0.000,0.001,0.098,0.460,0.440},
};

/*******************************************************
Generates all possible msb sequences that can arise from
double edges being replaced by single amino acids and versa.
********************************************************/
void MSB_candidate::generate_double_single(Config *config)
{
	int i;

	// first make single -> double
	for (i=0; i<current_seq.seq_length; i++)
	{
		if (current_seq.marked_aa[i])
			continue;

		const int org_aa = current_seq.seq[i];
		if ( org_aa != Arg && org_aa != Asn && org_aa != Gln && org_aa != Trp)
			continue;

		vector<int> aa1,aa2;
		aa1.clear();
		aa2.clear();

		if ( org_aa == Arg && i<current_seq.seq_length-1)
		{
			aa1.push_back(Gly);
			aa2.push_back(Val);
		}
		else if (org_aa == Gln)
		{
			aa1.push_back(Gly);
			aa2.push_back(Ala);
		}
		else if (org_aa == Trp)
		{
			aa1.push_back(X_SYM);
			aa2.push_back(X_SYM);
		}
		else if (org_aa == Asn)
		{
			aa1.push_back(Gly);
			aa2.push_back(Gly);
		}

		int j;
		for (j=0; j<aa1.size(); j++)
		{
			MSB_alternates new_alt;
			MSB_seq new_seq;
			
			int aas[2];
			aas[0]=aa1[j];
			aas[1]=aa2[j];

			new_seq.clone_and_replace(current_seq,i,1,aas,2);

			// check to see that this seq has not been added already
			int k;
			bool dont_add=false;
			for (k=0; k<candidate_mods.size(); k++)
			{
				int m;
				bool found_same=false;

				for (m=0; m<candidate_mods[k].alt_seqs.size(); m++)
					if (candidate_mods[k].alt_seqs[m] == new_seq)
					{
						found_same=true;
						break;
					}
				if (found_same)
				{
					dont_add=true;
					break;
				}
			}	
			if (dont_add)
				continue;

			
			new_seq.marked_aa[i]=1;
			new_seq.marked_aa[i+1]=1;

			// reduce the prob of the double aa so it doesn't trup the prefix fix
			if (i==0 || (i==1 && new_seq.seq[0] == B_SYM) )
			{
				new_seq.aa_probs[i] -= 0.04;
				if (new_seq.aa_probs[i] <= 0.03)
					new_seq.aa_probs[i] = 0.03;

				new_seq.aa_probs[i+1] -= 0.04;
				if (new_seq.aa_probs[i] <= 0.03)
					new_seq.aa_probs[i] = 0.03;
			}
			new_alt.alt_seqs.push_back(new_seq);

			new_alt.alt_seqs.push_back(current_seq);
			new_alt.alt_seqs[1].marked_aa[i]=1;
			

			new_alt.calaculate_scores(current_seq,config);

		//	printf("current:\n");
		//	current_seq.print(config);

			add_mod_seqs(new_alt);
		}
	}

	// make double -> single aa
	for (i=0; i<current_seq.seq_length-1; i++)
	{
		if (current_seq.marked_aa[i] || current_seq.seq[i]== X_SYM)
			continue;

		int single_aa=-1;

		if (current_seq.seq[i]==Gly && current_seq.seq[i+1] == Val)
		{
			single_aa=Arg;
		}
		else if (current_seq.seq[i]==Val && current_seq.seq[i+1]==Ser)
		{
			single_aa=Trp;
		}
		else if (current_seq.seq[i]==Ser && current_seq.seq[i+1]==Val)
		{
			single_aa=Trp;
		}
		else if (current_seq.seq[i]==Asp && current_seq.seq[i+1]==Ala)
		{
			single_aa=Trp;
		}
		else if (current_seq.seq[i]==Ala && current_seq.seq[i+1]==Asp)
		{
			single_aa=Trp;
		}
		else if (current_seq.seq[i]==Ala && current_seq.seq[i+1]==Gly)
		{
			single_aa=Gln;
		}

		if (single_aa<0)
			continue;

		MSB_alternates new_alt;
		MSB_seq new_seq;
		new_alt.alt_seqs.push_back(current_seq);
		
		new_seq.clone_and_replace(new_alt.alt_seqs[0],i,2,&single_aa,1);
		new_alt.alt_seqs[0].marked_aa[i]=1;
		new_alt.alt_seqs[0].marked_aa[i+1]=1;
		new_seq.marked_aa[i]=1;
		
		new_alt.alt_seqs.push_back(new_seq);
		new_alt.calaculate_scores(current_seq,config);

	//	printf("current:\n");
	//	current_seq.print(config);

		add_mod_seqs(new_alt);
	}

//	this->pop_and_print_all_mods(config);
}


/********************************************************************
// replace a single amino acids with another with the same mass
// Q<->K , M* <-> F
*********************************************************************/
void MSB_candidate::generate_alternate_single_cands(Config *config, bool reach_c_term)
{
	const float K_start_prob = 0.45; // K_prob = 1 - Q_prob
	const float K_mid_prob = 0.2;
	const float K_end_prob = 1.0;

	const float F_prob = 0.9; // M* if exists has 0.1 prob

	const int oxidized_met_aa = config->get_oxidized_met_aa();
	int i;
	
	// consider replacing the first Q/K with a Z
	if (current_seq.seq[0] == B_SYM && (current_seq.seq[1] == Lys || current_seq.seq[1] == Gln) )
	{
		MSB_alternates new_alt;
		MSB_seq new_seq;
			
		int aa_sym=Z_SYM;

		new_seq.clone_and_replace(current_seq,1,1,&aa_sym,1);
		new_seq.marked_aa[1]=1;
		new_alt.alt_seqs.push_back(new_seq);
		new_alt.calaculate_scores(current_seq,config);

		add_mod_seqs(new_alt);
	}

	int start_idx = (current_seq.seq[0] == B_SYM) ? 2 :0;
	int end_idx = (reach_c_term) ? current_seq.seq_length -1 : current_seq.seq_length;
	for (i=start_idx; i<end_idx; i++)
	{
		if (current_seq.marked_aa[i] || 
			(current_seq.seq[i] != Lys && current_seq.seq[i] != Gln) )
			continue;

		int aa_to_add = (current_seq.seq[i] == Lys) ? Gln : Lys;

		MSB_alternates new_alt;
		MSB_seq new_seq;
			
		new_seq.clone_and_replace(current_seq,i,1,&aa_to_add,1);
		new_seq.marked_aa[i]=1;
		new_alt.alt_seqs.push_back(new_seq);
		new_alt.alt_seqs.push_back(current_seq);
		new_alt.alt_seqs[1].marked_aa[i]=1;
		new_alt.calaculate_scores(current_seq,config);

		add_mod_seqs(new_alt);
	}

	// consider replacing with Z
	for (i=start_idx; i<end_idx; i++)
	{
		if (current_seq.marked_aa[i] || 
			(current_seq.seq[i] != Lys && current_seq.seq[i] != Gln) )
			continue;


		MSB_alternates new_alt;
		MSB_seq new_seq;
		int new_aa = Z_SYM;
			
		new_seq.clone_and_replace(current_seq,i,1,&new_aa,1);
		new_seq.marked_aa[i]=1;
		new_alt.alt_seqs.push_back(new_seq);
		new_alt.calaculate_scores(current_seq,config);

		add_mod_seqs(new_alt);
	}

	if (oxidized_met_aa>0)
	{
		int i;

		for (i=0; i<current_seq.seq_length; i++)
		{
			if (current_seq.marked_aa[i] || 
				(current_seq.seq[i] != Phe && current_seq.seq[i] != oxidized_met_aa) )
				continue;

			int aa_to_add = (current_seq.seq[i] == Phe) ? oxidized_met_aa : Phe;

			MSB_alternates new_alt;
			MSB_seq new_seq;
				
			new_seq.clone_and_replace(current_seq,i,1,&aa_to_add,1);
			new_seq.marked_aa[i]=1;
			new_alt.alt_seqs.push_back(new_seq);
			new_alt.alt_seqs.push_back(current_seq);
			new_alt.alt_seqs[1].marked_aa[i]=1;
			new_alt.calaculate_scores(current_seq,config);

			add_mod_seqs(new_alt);
		}
	}

//	if (this->candidate_mods.size()>0)
//	{
//		printf("current:\n");
//		current_seq.print(config);
//		this->pop_and_print_all_mods(config);
//
//	}
}



/*****************************************************
// replace look for better paths
// looks for bad portions (2-4 amino acids long). Tries
// alternative paths.
******************************************************/
void MSB_candidate:: generate_alt_sub_path(PrmGraph *prm, BasicSpectrum *spec, 
										   ScoreModel *model,float pm_with_19)
{
	const float min_prob_improvement = 0.1;
	Config *config = prm->get_config();
	const int c_term_node = prm->get_num_nodes()-1;

	int i;

	for (i=0; i<current_seq.seq_length; i++)
	{
		int j,k;
		if (current_seq.aa_probs[i]>0.9) // don't start with good amino acid
				continue;

		// don't start in the middle of a double edge
		if (i>0 && current_seq.breakage_idxs[i] == current_seq.breakage_idxs[i-1])
			continue;

		for (j=2; j<=4; j++)
		{
			if (i>current_seq.seq_length-j)
				continue;

			// don't finish in the middle of a double edge
			if ( current_seq.breakage_idxs[i+j] == current_seq.breakage_idxs[i+j-1])
				continue;


			bool good_path = true;
			float prob = 1.0;
			for (k=0; k<j; k++)
			{
				const int idx = i+k;
				if (current_seq.seq[idx] > 100 || current_seq.aa_probs[idx]<=0)
				{
					good_path=false;
					break;
				}
				prob *= current_seq.aa_probs[idx];
			}

			if (! good_path)
				continue;

			prob = pow(prob,1.0/j);

			if (prob>0.7)  // don't bother if prob is high
				continue;

			// the prob of the aa on the right end must also be high
			if (current_seq.aa_probs[i+j]<0.6)
				continue;
			
			int n_idx = current_seq.breakage_idxs[i];
			int c_idx = current_seq.breakage_idxs[i+j];

			if (n_idx<0 || c_idx<0) // can't work with invalid breakage idxs
				continue;

			int n_aa = ( i == 0) ? Gap: current_seq.seq[i-1];
			int c_aa = ( i+j == current_seq.seq_length) ? Gap : current_seq.seq[i+j];

			vector<DeNovoPath> alt_subs;
		
			prm->get_alternate_sub_paths(spec,model,pm_with_19,n_idx,n_aa,c_idx,c_aa,alt_subs);
			

			float min_alt_prob = prob + min_prob_improvement;

			int count=0;
			for (k=0; k<alt_subs.size() && count<4; k++)
			{
				if (alt_subs[k].seq_prob<min_alt_prob)
					break;

				if (are_ILQK_equivalent(current_seq.seq+i,j,alt_subs[k].seq,alt_subs[k].seq_length))
					continue;

				if (i+j == current_seq.seq_length && current_seq.seq[i+j-1] == Lys &&
					(alt_subs[k].seq[j-1] == Gln || alt_subs[k].seq[j-1] == Glu) )
					continue;

				if (alt_subs[k].c_node_idx)
				{
					const int last_aa = alt_subs[k].seq[alt_subs[k].seq_length-1];
					if (last_aa == Glu || last_aa == Gln)
						continue;
				}

				// generate new cand	
				//	alt_subs[k].print(config);
		
				MSB_alternates new_alt;
				MSB_seq new_seq;
				new_seq.clone_and_swap_in(current_seq,i,j,alt_subs[k]);

				// check to see that this seq has not been added already
				int k;
				bool dont_add=false;
				for (k=0; k<candidate_mods.size(); k++)
				{
					int m;
					bool found_same=false;

					for (m=0; m<candidate_mods[k].alt_seqs.size(); m++)
						if (candidate_mods[k].alt_seqs[m] == new_seq)
						{
							found_same=true;
							break;
						}
					if (found_same)
					{
						dont_add=true;
						break;
					}
				}	
				if (dont_add)
					continue;

				new_alt.alt_seqs.push_back(new_seq);
				new_alt.alt_seqs.push_back(current_seq);
				new_alt.calaculate_scores(current_seq,config);
				add_mod_seqs(new_alt);
				count++;
			}
		}
	}
}




// looks for holes btween two strong amino acids, tries other permutations over there
void MSB_candidate::treat_low_prob_holes(Config *config)
{
	int i;
	for (i=0; i<current_seq.seq_length-3; i++)
	{
		if (current_seq.aa_probs[i]>0.9 && current_seq.aa_probs[i+1]<0.6 &&
			current_seq.aa_probs[i+2]<0.6 && current_seq.aa_probs[i+3]>0.9 &&
			current_seq.seq[i+1] != X_SYM && current_seq.seq[i+2] != X_SYM)
		{
			MSB_alternates new_alt;
			MSB_seq new_seq;
			int rev_aa[]={current_seq.seq[i+2],current_seq.seq[i+1]};

			new_seq.clone_and_replace(current_seq,i+1,2,(int *)&rev_aa,2);
			new_seq.aa_probs[i+1] -= 0.03;
			if (new_seq.aa_probs[i+1]<0.03)
				new_seq.aa_probs[i+1]= 0.03;
			new_seq.aa_probs[i+2] -= 0.03;
			if (new_seq.aa_probs[i+2]<0.03)
				new_seq.aa_probs[i+2]= 0.03;

			new_alt.alt_seqs.push_back(new_seq);
			new_alt.alt_seqs.push_back(current_seq);
			new_alt.calaculate_scores(current_seq,config);

			add_mod_seqs(new_alt);
		}
	}
}


/**************************************************************
// adds a gap for low prob stretches
***************************************************************/
void MSB_candidate::replace_with_gap(Config *config)
{
	const float gap_prob = 0.45;
	const float min_prob_for_aa = 0.05;
	const vector<float> & aa2mass = config->get_aa2mass();
	int i;

	for (i=0; i<current_seq.seq_length-2; i++)
	{

		if (current_seq.aa_probs[i] > 0.67 || current_seq.seq[i] > 100)
			continue;

		float prob = 1.0;
		float mass = 0;
		int j;

		for (j=i; j<current_seq.seq_length; j++)
		{
			if (current_seq.aa_probs[j]>0.6 || current_seq.seq[j] > 100 || 
				current_seq.marked_aa[j])
			{
				j--;
				break;
			}


			float p = current_seq.aa_probs[j];
			if (p<0.03)
				p=0.03;

			if (j>i && pow(prob*p,1.0/(j+1-i))> gap_prob)
			{
				j--;
				break;
			}
		
			prob *= p;
			mass += aa2mass[current_seq.seq[j]];

			if (mass>400)
				break;
		}

	

		// remove last aa from gap if it is more than prob 0.55
		if (j == current_seq.seq_length)
			j--;

		while (j>i && current_seq.aa_probs[j]>0.55)
		{
			mass -= aa2mass[current_seq.seq[j]];
			

			float p = current_seq.aa_probs[j];
			if (p<0.03)
				p=0.03;

			prob /= p;
			j--;
		}

		int aa_length = j-i+1;
		if (aa_length<2)
			continue;

		// don't want a gap endig the sequence
		if (i+aa_length >= current_seq.seq_length -1)
			continue;

		prob = pow(prob,1.0/aa_length);

		if (prob<gap_prob)
		{
			int j;
			int arr_idx = (int)(2*mass+0.5);
			if (arr_idx>=1200)
				continue;

			int x_syms[]={X_SYM,X_SYM,X_SYM,X_SYM,X_SYM,X_SYM,X_SYM,X_SYM};
			MSB_alternates new_alt;
			for (j=7; j>=1; j--)
			{
				if (gap_aa_probs[arr_idx][j]>min_prob_for_aa)
				{
					
					MSB_seq new_seq;
					new_seq.clone_and_replace(current_seq,i,aa_length,(int *)(&x_syms),j);

					// check that new seq doesn't have bad properties like
					// terminating with XXXXXXXX, too many XXX
					if (new_seq.seq[new_seq.seq_length-1] == X_SYM)
						break;
					
					int num_X=0;
					int num_aa=0;
					int t;
					for (t=0; t<new_seq.seq_length; t++)
						if (new_seq.seq[t] == X_SYM)
						{
							num_X++;
						}
						else
							num_aa++;

					// don't allow XXX prefix - makes no sense
					if (new_seq.seq[0] == X_SYM)
						break;

					if (num_aa<=4 || num_X>num_aa || num_X>7)
						break;

					new_alt.alt_seqs.push_back(new_seq);
				}
			}

			if (new_alt.alt_seqs.size()>0)
			{
				new_alt.alt_seqs.push_back(current_seq);
				new_alt.calaculate_scores(current_seq,config);
				add_mod_seqs(new_alt);
			}
		}
		j+= aa_length;
	}
}


/**************************************************************
// if there are two amino acids, changes the order and also 
// fills in  XXX's.
***************************************************************/
void MSB_candidate::alter_prefix(Config *config)
{
	const float max_prob = 0.7;

	if (current_seq.seq[0] != B_SYM)
		return;

	if (current_seq.seq[1]>100 || current_seq.seq[2]>100)
		return;

	if (current_seq.marked_aa[1] || current_seq.marked_aa[2])
		return;

	float p = current_seq.aa_probs[1]*current_seq.aa_probs[2];
	if (p>0 && sqrt(p)>max_prob)
		return;

	int two_gap[] = {X_SYM,X_SYM};
	int rev_aa[] = {current_seq.seq[2],current_seq.seq[1]};
	MSB_alternates new_alt;
	MSB_seq gap_seq,rev_seq;
	gap_seq.clone_and_replace(current_seq,1,2,(int *)(&two_gap),2);
	rev_seq.clone_and_replace(current_seq,1,2,(int *)(&rev_aa),2);
	rev_seq.aa_probs[1]-=0.02;
	rev_seq.aa_probs[2]-=0.02;
	if (rev_seq.aa_probs[1]<0.05)
		rev_seq.aa_probs[1] = 0.05;
	if (rev_seq.aa_probs[2]<0.05)
		rev_seq.aa_probs[2] = 0.05;

	new_alt.alt_seqs.push_back(rev_seq);
	new_alt.alt_seqs.push_back(gap_seq);
	new_alt.alt_seqs.push_back(current_seq);
	new_alt.calaculate_scores(current_seq,config);

	add_mod_seqs(new_alt);
}

/******************************************************************
// removes the ends of the sequences if they have low probabilities
*******************************************************************/
void MSB_candidate::trim_ends(Config *config, int core_size)
{
	const float max_trim_prob = 0.6;
	const float first_two_trim = 0.7;
	const float after_good_prob = 0.3;
	const float non_tryptic_trim = 0.8;

	int i;

	// trim prefix

	for (i=0; i<current_seq.seq_length-core_size; i++)
	{
		if (i==0 && current_seq.seq[i] == B_SYM && current_seq.aa_probs[1] < first_two_trim)
			continue;

		if (i<2 && current_seq.aa_probs[i]<first_two_trim)
			continue;

		if (current_seq.aa_probs[i] < max_trim_prob)
			continue;

		if (i < current_seq.seq_length-core_size-1 &&
			current_seq.aa_probs[i+1] < after_good_prob)
			continue;
		if (current_seq.seq[i] == X_SYM)
			continue;

		break;
	}


	// we can trim..
	if ((current_seq.seq[0] != B_SYM && i>0) || i>2 )
	{
		MSB_alternates new_alt;
		MSB_seq trim_seq;

		trim_seq.clone_and_replace(current_seq,0,i,(int *)(NULL),0);
		new_alt.alt_seqs.push_back(trim_seq);

		new_alt.alt_seqs.push_back(current_seq);
		new_alt.calaculate_scores(current_seq,config);

		add_mod_seqs(new_alt);
	}

	// trim suffix
	for (i=current_seq.seq_length-1; i>0; i--)
	{
		if (i==current_seq.seq_length-1 && current_seq.seq[i] != Arg && 
			current_seq.seq[i] != Lys && current_seq.aa_probs[i] < non_tryptic_trim)
			continue;

		if (i>current_seq.seq_length-3 && current_seq.aa_probs[i] < first_two_trim)
			continue;

		if (current_seq.aa_probs[i] < max_trim_prob)
			continue;

		if (current_seq.seq[i] == X_SYM)
			continue;

		if (i <core_size)
			break;
	}

	// we can trim..
	if (i < current_seq.seq_length-1 && i>= core_size -1)
	{
		MSB_alternates new_alt;
		MSB_seq trim_seq;

		trim_seq.clone_and_replace(current_seq,i+1,current_seq.seq_length - i -1,(int *)(NULL),0);
		new_alt.alt_seqs.push_back(trim_seq);

		new_alt.alt_seqs.push_back(current_seq);
		new_alt.calaculate_scores(current_seq,config);

		add_mod_seqs(new_alt);
	}
}

